﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Model
{
    public class Forsendelse
    {
        private Distributør distributør;
        private DateTime forsendelsesDato;
        private List<Vare> vareListe;
        private List<int> vareAntal;

        private Vare[] vareListeArray;
        private int[] vareAntalArray;


        public Forsendelse()
        {
            // Default-constructor.
        }

        public Forsendelse(Distributør distributør, DateTime forsendelsesDato)
        {
            this.distributør = distributør;
            this.forsendelsesDato = forsendelsesDato;
            vareListe = new List<Vare>();
            vareAntal = new List<int>();
        }

        public void ListsToArray()
        {
            vareListeArray = vareListe.ToArray();
            vareAntalArray = vareAntal.ToArray();
        }

        public Vare FindVareGennemForsendelse(int varenr)
        {
            foreach (Vare nyVare in vareListe)
            {
                if (nyVare.VareNr == varenr)
                {
                    return nyVare;
                }
            }

            return null;
        }

        public int OpskrivVareAntal(int vareantal)
        {
            ListsToArray();

            while (vareListeArray.Length == vareListeArray.Length)
            {
                for (int x = 0; x <= vareListeArray.Length; x++)
                {
                    if (vareListeArray.GetValue(x) == vareAntalArray.GetValue(x))
                    {
                        vareAntalArray[x] = vareantal;
                    }
                }         
            }

            return vareantal;
        }

        #region properties
        public Distributør Distributør
        {
            get { return distributør; }
            set { distributør = value; }
        }

        public DateTime ForsendelsesDato
        {
            get { return forsendelsesDato; }
            set { forsendelsesDato = value; }
        }
        public List<Vare> VareListe
        {
            get { return vareListe; }
            set { vareListe = value; }
        }
        public List<int> VareAntal
        {
            get { return vareAntal; }
            set { vareAntal = value; }
        }

        #endregion
    }
}
